home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-SPAR.{_6 / SIGCONTE.{1F < prev    next >
Text File  |  1999-09-17  |  2KB  |  68 lines

  1. /* $Id: sigcontext.h,v 1.13 1998/10/06 09:28:35 jj Exp $ */
  2. #ifndef __SPARC_SIGCONTEXT_H
  3. #define __SPARC_SIGCONTEXT_H
  4.  
  5. #include <asm/ptrace.h>
  6.  
  7. #define SUNOS_MAXWIN   31
  8.  
  9. #ifndef __ASSEMBLY__
  10.  
  11. /* SunOS system call sigstack() uses this arg. */
  12. struct sunos_sigstack {
  13.     unsigned long sig_sp;
  14.     int onstack_flag;
  15. };
  16.  
  17. /* This is what SunOS does, so shall I. */
  18. struct sigcontext {
  19.     int sigc_onstack;      /* state to restore */
  20.     int sigc_mask;         /* sigmask to restore */
  21.     int sigc_sp;           /* stack pointer */
  22.     int sigc_pc;           /* program counter */
  23.     int sigc_npc;          /* next program counter */
  24.     int sigc_psr;          /* for condition codes etc */
  25.     int sigc_g1;           /* User uses these two registers */
  26.     int sigc_o0;           /* within the trampoline code. */
  27.  
  28.     /* Now comes information regarding the users window set
  29.      * at the time of the signal.
  30.      */
  31.     int sigc_oswins;       /* outstanding windows */
  32.  
  33.     /* stack ptrs for each regwin buf */
  34.     char *sigc_spbuf[SUNOS_MAXWIN];
  35.  
  36.     /* Windows to restore after signal */
  37.     struct reg_window sigc_wbuf[SUNOS_MAXWIN];
  38. };
  39.  
  40. typedef struct {
  41.     struct pt_regs    si_regs;
  42.     int        si_mask;
  43. } __siginfo_t;
  44.  
  45. typedef struct {
  46.     unsigned   long si_float_regs [32];
  47.     unsigned   long si_fsr;
  48.     unsigned   long si_fpqdepth;
  49.     struct {
  50.         unsigned long *insn_addr;
  51.         unsigned long insn;
  52.     } si_fpqueue [16];
  53. } __siginfo_fpu_t;
  54.  
  55. /* This magic should be in g_upper[0] for all upper parts
  56.    to be valid.
  57.    This is generated by sparc64 only, but for 32bit processes,
  58.    so we define it here as well.  */
  59. #define SIGINFO_EXTRA_V8PLUS_MAGIC      0x130e269
  60. typedef struct {
  61.     unsigned   int g_upper[8];
  62.     unsigned   int o_upper[8];
  63. } siginfo_extra_v8plus_t;
  64.  
  65. #endif /* !(__ASSEMBLY__) */
  66.  
  67. #endif /* !(__SPARC_SIGCONTEXT_H) */
  68.